7F00D298:	41DC8	menu 06 interface: mode select screen
	note: this printout uses the revised BONDFOLDER addresses.  see "usage of the selected Bond features" for details
ADDIU	SP,SP,FFD0
SW	S0,0018 (SP)
LUI	AT,8003
LUI	V1,8007
SW	RA,001C (SP)
SW	R0,A94C (AT)	;0->8002A94C: cheat menu unavailable
ADDIU	V1,V1,9651	;V1=80069651: base address for unlocked cheat flags
ADDIU	S0,R0,0001	;S0=1: counter for cheats
//7F00D2B8:		determine if any cheats are available
OR	A0,S0,R0	;A0=S0: cheat#
JAL	7F009848	;V0=TRUE if cheat A0 unlocked
SW	V1,0024 (SP)	;V1->SP+24: p->unlocked cheat flag
BEQ	V0,R0,7F00D2E4	;branch if not available
LW	V1,0024 (SP)	;V1=SP+24: p->unlocked cheat flag
ADDIU	T6,R0,0001
SB	T6,0000 (V1)	;1->unlocked cheat flag: unlock cheat in cheat menu
ADDIU	T7,R0,0001
LUI	AT,8003
BEQ	R0,R0,7F00D2E8
SW	T7,A94C (AT)	;1->8002A94C: set cheat menu available
//7F00D2E4:		cheat not available
SB	R0,0000 (V1)
//7F00D2E8:		iterate for all cheats
ADDIU	S0,S0,0001	;S0++: next cheat #
ADDIU	AT,R0,004B
BNE	S0,AT,7F00D2B8	;continue for cheats 1-4A
ADDIU	V1,V1,0001	;V1++: p->next cheat unlock flag
//7F00D2F8:		
LUI	AT,4270
MTC1	AT,F12		;F12=60.0
JAL	70004544
NOP
LUI	AT,8005
JAL	70004590
LWC1	F12,1A38 (AT)	;F12=80051B38: 1.3-
LUI	AT,42C8
MTC1	AT,F12		;F12=100.0
LUI	AT,8005
JAL	70004650
LWC1	F14,1A3C (AT)	;F14=80051B3C: 10000.0
JAL	70004534
OR	A0,R0,R0	;A0=0
//7F00D330:		assemble folder on-screen
LUI	S0,8003
ADDIU	S0,S0,A95C	;S0=8002A95C: location of walletbond in rdram
JAL	7F00B724
LW	A0,0000 (S0)	;A0=p->walletbond obj. instance
LUI	A0,8003
JAL	7F01EBC8	;V0= selected Bond for file A0
LW	A0,A8E8 (A0)	;A0=8002A8E8: folder#
LW	A0,0000 (S0)	;A0=p->walletbond obj. instance
JAL	7F00B808	;toggles folder images on/off
OR	A1,V0,R0	;A1=V0: selected Bond
LW	A0,0000 (S0)	;A0=p->walletbond obj. instance
OR	A1,R0,R0	;A1=item 0: tabs on side of folder
JAL	7F00B7C0	;toggle item on (draw to screen)
ADDIU	A2,R0,0001	;A2=mode: on
LW	A0,0000 (S0)	;A0=p->walletbond obj. instance
ADDIU	A1,R0,0001	;A1=item 1: basic folder
JAL	7F00B7C0	;toggle item on (draw to screen)
ADDIU	A2,R0,0001	;A2=mode: on
LW	A0,0000 (S0)	;A0=p->walletbond obj. instance
ADDIU	A1,R0,0003	;A1=item 3: OHMSS
JAL	7F00B7C0	;toggle item on (draw to screen)
ADDIU	A2,R0,0001	;A2=mode: on
LW	A0,0000 (S0)	;A0=p->walletbond obj. instance
ADDIU	A1,R0,0007	;A1=item 7: shadow beneath character image
JAL	7F00B7C0	;toggle item on (draw to screen)
ADDIU	A2,R0,0001	;A2=mode: on
LW	A0,0000 (S0)	;A0=p->walletbond obj. instance
ADDIU	A1,R0,0002	;A1=item 2: FOR YOUR EYES ONLY
JAL	7F00B7C0	;toggle item on (draw to screen)
ADDIU	A2,R0,0001	;A2=mode: on
//7F00D3A8:		detect if tab 3 selected
LUI	S0,8007
LUI	AT,8003
ADDIU	S0,S0,9784	;S0=80069784: p->selected mode?
SW	R0,A8E4 (AT)	;0->8002A8E4: unhighlight folder tab 3
ADDIU	T8,R0,FFFF
JAL	7F00A39C	;V0=TRUE if cursor is on tab 3
SW	T8,0000 (S0)	;-1->80069784: reset mode to folder select
BEQ	V0,R0,7F00D410	;branch if tab 3 not selected
LUI	T1,8003
//7F00D3CC:		tab 3 selected
ADDIU	T9,R0,0001
LUI	AT,8003
SW	T9,A8E4 (AT)	;1->8002A8E4: highlight folder tab 3
OR	A0,R0,R0	;A0=0
JAL	7000C3AC	;test if buttons in A1 were pressed
ORI	A1,R0,B000	;A1=B000: A,Z,start
BEQ	V0,R0,7F00D51C	;branch if none were pressed
ADDIU	T0,R0,0001
LUI	AT,8003
LUI	A0,8006
SW	T0,A8D8 (AT)	;1->8002A8D8: folder tab 3 selected
LW	A0,3720 (A0)	;A0=80063720: SE buffer
ADDIU	A1,R0,00C7	;A1=0C7: page turning sound effect
JAL	70008E08	;play sound A1
OR	A2,R0,R0	;A2=NULL p->data
BEQ	R0,R0,7F00D520
OR	A0,R0,R0	;A0=0
//7F00D410:		cheat menu selected
LW	T1,A94C (T1)	;T1=8002A94C: cheat menu available flag
LUI	AT,8003
BEQ	T1,R0,7F00D478	;branch if cheat menu not an option
NOP
LWC1	F4,A90C (AT)	;F4=8002A90C: vertical position
LUI	AT,8005
LWC1	F6,1A40 (AT)	;F6=80051A40: selection spacing value
ADDIU	T2,R0,0002
OR	A0,R0,R0
C.LE.S	F6,F4
ORI	A1,R0,B000	;A1=B000: A,Z,start
BC1F	7F00D478	;branch if bounds < vert. position
NOP
JAL	7000C3AC	;test if buttons in A1 were pressed
SW	T2,0000 (S0)	;2->highlighted mode: cheats
BEQ	V0,R0,7F00D51C	;branch if no buttons pressed
ADDIU	T3,R0,0002
//7F00D454:		cheats selected
LUI	AT,8003
LUI	A0,8006
SW	T3,A8F0 (AT)	;2->8002A8F0: mode=cheats
LW	A0,3720 (A0)	;A0=80063720: p->SE buffer
ADDIU	A1,R0,00C5	;A1=0C5: backpedal folder SE
JAL	70008E08	;play sound A1
OR	A2,R0,R0	;A2=NULL p->data
BEQ	R0,R0,7F00D520
OR	A0,R0,R0	;A0=0
//7F00D478:		detect if multiplayer selected
LUI	AT,8003
LWC1	F8,A90C (AT)	;F8=8002A90C: vertical position
LUI	AT,4373
MTC1	AT,F10		;F10=AT: 244.0
NOP
C.LE.S	F10,F8
NOP
BC1FL	7F00D4F0	;branch if 244.0 < pos. (multi not selected)
SW	R0,0000 (S0)	;0->highlighted mode: solo
JAL	7000B9F8	;V0=#controllers plugged in
NOP
SLTI	AT,V0,0002	;TRUE if 0-1
BNEZ	AT,7F00D4EC	;branch if fewer than 2 controllers
ADDIU	T4,R0,0001
SW	T4,0000 (S0)	;1->highlighted mode: multi
OR	A0,R0,R0	;A0=0: controller 1
JAL	7000C3AC	;test if buttons in A1 were pressed
ORI	A1,R0,B000	;A1=B000: A,Z,start
BEQ	V0,R0,7F00D51C	;branch if none were pressed
ADDIU	T5,R0,0001
//7F00D4C8:		multiplayer selected
LUI	AT,8003
LUI	A0,8006
SW	T5,A8F0 (AT)	;1->8002A8F0: mode=multi
LW	A0,3720 (A0)	;A0=80063720: SE buffer
ADDIU	A1,R0,00C5	;A1=0C5: page turn SE
JAL	70008E08	;play SE A1
OR	A2,R0,R0	;A2=NULL p->data
BEQ	R0,R0,7F00D520
OR	A0,R0,R0	;A0=0
//7F00D4EC:		
SW	R0,0000 (S0)	;0->highlighted mode
//7F00D4F0:	detect if solo selected
OR	A0,R0,R0	;A0=0: controller 1
JAL	7000C3AC	;test if buttons in A1 were pressed
ORI	A1,R0,B000	;A1=B000: A,Z,start
BEQ	V0,R0,7F00D51C	;branch if no buttons pressed
LUI	AT,8003
LUI	A0,8006
SW	R0,A8F0 (AT)	;0->8002A8F0: mode=solo
LW	A0,3720 (A0)	;A0=80063720: SE buffer
ADDIU	A1,R0,00C5	;A1=0C5: page turning SE
JAL	70008E08	;play SE A1
OR	A2,R0,R0	;A2=NULL p->data
//7F00D51C:		buttons were not pressed
OR	A0,R0,R0
//7F00D520:		test if backpedalling one page
JAL	7000C3AC	;test if buttons in A1 were pressed
ADDIU	A1,R0,4000	;A1=4000: B
BEQ	V0,R0,7F00D54C	;branch if B wasn't pressed
ADDIU	T6,R0,0001
//7F00D530:		backpedal
LUI	AT,8003
LUI	A0,8006
SW	T6,A8D8 (AT)	;1->8002A8D8: folder tab 3 selected (back)
LW	A0,3720 (A0)	;A0=80063720: SE buffer
ADDIU	A1,R0,00C7	;A1=0C7: page turning SE
JAL	70008E08	;play SE A1
OR	A2,R0,R0	;A2=NULL p->data
//7F00D54C:		sort out what functions occur
JAL	7F009B84	;???
NOP
LUI	V0,8003
LW	V0,A8F0 (V0)	;V0=8002A8F0: mode
ADDIU	A0,R0,0007	;A0=7: select mission
ADDIU	AT,R0,0001	;AT=1
BNEZ	V0,7F00D584	;branch if mode != solo
NOP
//7F00D56C:		jump to "select mission"
JAL	7F01A5D4	;set menu to A0 in mode A1
OR	A1,R0,R0	;A1=0: current menu
JAL	7F00E3E0
OR	A0,R0,R0	;A0=0
BEQ	R0,R0,7F00D5D8
LW	RA,001C (SP)
//7F00D584:		detect if multiplayer selected
BNE	V0,AT,7F00D59C	;if mode != 1, branch
ADDIU	A0,R0,000E	;A0=E: multiplayer options
JAL	7F01A5D4	;set menu to A0 in mode A1
OR	A1,R0,R0	;A1=0: current menu
BEQ	R0,R0,7F00D5D8
LW	RA,001C (SP)
//7F00D59C:		detect if cheats selected
ADDIU	AT,R0,0002
BNE	V0,AT,7F00D5BC	;branch if mode != 2
LUI	T7,8003
ADDIU	A0,R0,0015	;A0=15: cheat menu
JAL	7F01A5D4	;set menu to A0 in mode A1
OR	A1,R0,R0	;A1=0: current menu
BEQ	R0,R0,7F00D5D8
LW	RA,001C (SP)
//7F00D5BC:		
LW	T7,A8D8 (T7)	;T7=8002A8D8: folder tab 3 selected (back)
ADDIU	A0,R0,0005	;A0=5: folder select
BEQL	T7,R0,7F00D5D8	;if no set, branch
LW	RA,001C (SP)
JAL	7F01A5D4	;set menu to A0 in mode A1
OR	A1,R0,R0	;A1=0: current menu
LW	RA,001C (SP)
//7F00D5D8:		return
LW	S0,0018 (SP)
ADDIU	SP,SP,0030
JR	RA
NOP
